<?php
/**
 * @category 	MenuPrivilege.php
 * @author 		Sung Hoon, Cho (akdddnet@gmail.com)
 * @since		2011. 10. 21.
 * @license		BSD License
 * @version		0.1
 */

class MenuPrivilege {
	
	private static $instance;
	private $menuinfo = array();
	
	static function getInstance() {
		$classname = get_class();
		
		if (!isset(self::$instance)) {
			self::$instance = new $classname;
		}
		
		return self::$instance;
	}
	
	
	function getMenu() {
		if(Common::isNullOrEmpty($this->menuinfo)) {
			$this->refresh();
		}
		
		return $this->menuinfo;
	}
	
	/**
	 * ajax로 처리하는 경우가 많아서 한개의 메뉴씩 배열에 넣는거 보다..
	 * 그냥 메뉴 정보 통채로 DB에서 가져오는게 편하기도 하고.. 접속자수도 별로 없고 -_-;;
	 * 나중에 사용자가 많아질 경우에는.. 신중히 고려해서 개발 해야될듯.
	 * 
	 */
	function refresh() {
		global $CFG;
		
		require_once $CFG->CLASSES_DIR."/admin/menu/MenuController.php";
		
		//$baseController = new BaseController();
		$menuController = new MenuController();
		
		
		$this->menuinfo = $menuController->externalMenuList(true);
	}
}